package com.haidong.myfile;

import com.haidong.myfile.Listener.MyKeyListen;
import com.haidong.myfile.Listener.MyMouseListen;
import com.haidong.myfile.Listener.MyTextListen;

import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

/**
 * 用GUI模拟一个交互式终端框
 */
public class MyFrame extends JFrame {
    public MyFrame(String title) throws Exception {
        //设置窗口的基本属性
        super(title);
        setVisible(true);
        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
        TextArea text = new TextArea();
        text.setFont(new Font("dialog",0,30));

        //给文本域加上三个监听器,分别监听鼠标,键盘事件和文本变化
        //检测鼠标和键盘主要负责保持光标一直在文末,监听文本是为了获取用户输入和显示结果
        text.addKeyListener(new MyKeyListen());
        text.addMouseListener(new MyMouseListen());
        text.addTextListener(new MyTextListen());
        text.setText("欢迎使用WHD文件系统\n版权所有者:201913010103 王海东\n请输入您的用户名:");

        add(text);
        pack();
    }
}
